package com.lhh.userservice.service;

import com.lhh.springcommon.entity.User;
import com.lhh.springcommon.entity.vo.UserVO;

/**
 * @author 李厚航
 */
public interface UserManagementService {

    /**
     * 用户登录
     * @param user
     * @return
     */
    String login(User user);

    /**
     * 用户注册
     * @param user
     * @return
     */
    UserVO register(User user);

    /**
     * 根据token查询用户信息
     * @return
     */
    UserVO getUserByToken();

    /**
     * 发送短信验证码
     * @param phoneNumber
     * @return
     * @throws Exception
     */
    String sms(String phoneNumber) throws Exception;

    /**
     * 短信登录
     * @param phoneNumber
     * @param code
     * @return
     */
    String smsLogin(String phoneNumber, String code);

    /**
     * 检查用户信息是否重复
     * @param key
     * @param value
     * @return
     */
    Boolean checkNoRepeat(String key, String value);

    /**
     * 根据用户查询用户信息
     * @param user
     * @return
     */
    UserVO getUserVOByUser(User user);

}
